Algoritmos Genéticos (AG)son heurísticas de búsqueda global estocásticas inspiradas en los principios de la evolución natural, específicamente en el "supervivencia del más apto" darwiniano y la recombinación genética.
1. Marcos de Representación
- AG canónicos:Utilizan representaciones binarias o de Gray para codificar las variables de decisión.
- AG de codificación real (RCGA):Manipulan directamente vectores de punto flotante, siendo generalmente más eficientes para optimización continua.
2. El Ciclo Evolutivo
Un proceso iterativo de evaluación, selección y reproducción. Un concepto clave es la distinción entre el Genotipo (la cadena de bits codificada/cromosoma) y el Fenotipo (el valor de la variable de decisión decodificado en el espacio del problema real).
La transformación de una cadena binaria a un valor real $x \in [a, b]$ viene dada por:
$$x = a + \frac{valor\_decimal \times (b - a)}{2^L - 1}$$
Donde $L$ es la longitud en bits del cromosoma.
Cascadas de Hamming
Tenga cuidado con cascadas de Hamming en la codificación binaria estándar: situaciones donde números decimales adyacentes (como el 7 y el 8) tienen patrones binarios radicalmente diferentes (
0111vs1000), lo que dificulta que el AG realice búsquedas localizadas.
Implementación en Python: Decodificación Binario a Real
Pregunta 1
¿Por qué el código de Gray suele preferirse sobre la codificación binaria estándar en AG?
Pregunta 2
Si la probabilidad de mutación (p) se establece demasiado alta (por ejemplo, p = 0.5), ¿cuál es el resultado probable?
Estudio de Caso: Optimización de Componentes de Puente
Lea el escenario a continuación y responda las preguntas.
Está optimizando el diseño de un componente de puente donde la variable de decisión es "Espesor del Material".
- El espesor debe estar entre 0.0 mm y 10.23 mm.
- Está utilizando un AG canónico con una representación binaria de 10 bitsbits.
Q
1. Si un individuo tiene el cromosoma
0000000000, ¿cuál es el espesor decodificado?Respuesta: 0.0 mm
La cadena binaria
La cadena binaria
0000000000equivale a 0 en decimal. Usando la fórmula $x = a + \frac{decimal \times (b-a)}{2^L - 1}$, obtenemos $0.0 + \frac{0 \times (10.23 - 0.0)}{1023} = 0.0$.
Q
2. Calcule la precisión de búsqueda (el cambio más pequeño posible en el espesor) para esta configuración de 10 bits.
Respuesta: 0.01 mm
La precisión se define como el rango dividido por el valor decimal máximo posible. $\frac{10.23 - 0}{2^{10} - 1} = \frac{10.23}{1023} = 0.01\,\text{mm}$.
La precisión se define como el rango dividido por el valor decimal máximo posible. $\frac{10.23 - 0}{2^{10} - 1} = \frac{10.23}{1023} = 0.01\,\text{mm}$.
Q
3. Durante la selección, el Individuo A tiene una aptitud de 10 y el Individuo B tiene una aptitud de 30. Usando la selección por Rueda de Ruleta, ¿cuál es la probabilidad de que B sea elegido sobre A?
Respuesta: 75%
Aptitud total = $10 + 30 = 40$. Probabilidad de seleccionar B = $\frac{30}{40} = 0.75$ o 75%. (Una relación de 3:1).
Aptitud total = $10 + 30 = 40$. Probabilidad de seleccionar B = $\frac{30}{40} = 0.75$ o 75%. (Una relación de 3:1).